const mongoose = require('mongoose')
const baseModel = require('./base-model')
const md5 = require('../util/md5')

// 为集合（表）创建模式（schema)
// 注意：调用Date.now方法，而不是函数
const userSchema = mongoose.Schema({
    ...baseModel,
    username: {
        type: String,
        required: true
    },
    email: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true,
        // 当要对password进行赋值的时候，把值转换为md5
        set: value => md5(value),
        // 返回数据的时候设置不要把password返回回去（仅适用于查询数据，创建数据时使用delete将相关属性删除）
        select: false
    },
    bio: {
        type: String,
        default: null
    },
    image: {
        type: String,
        default: null
    },
});

module.exports = userSchema